package prototype.main.factory;

import prototype.main.pojo.DayLife;

public class LifeFactoryImpl implements ILifeFactory {
    //DayLife对象实例用于初始化
    private static DayLife dayLife = null;

    /**
     * getNewInstance方法实现
     * 1.如果dayLife为null，则使用new创建一个DayLife对象，并且设置初始内容，并复制给dayLife对象实例，然后返回
     * 2.如果dayLife不为null，则使用dayLife的clone方法产生一个新对象并且复制给dayLife对象，然后返回
     */
    @Override
    public DayLife getNewInstance() {
        if (null == dayLife) {
            System.out.println("new DayLife对象");
            dayLife = new DayLife();
            dayLife.setGetUp("7:00点起床");
            dayLife.setByBus("8:00坐地铁");
            dayLife.setGetFood("8:30下地铁买早餐");
            dayLife.setNoon("13:00在座椅上小憩半个小时");
            dayLife.setAfternoonWork("13:30开始下午工作");
            dayLife.setGoHome("18:00准时下班");
            dayLife.setNight("21:00睡觉");
        } else {
            System.out.println("clone DayLife对象");
            dayLife = dayLife.clone();
        }
        return dayLife;
    }
}
